home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / pascal / swag / comm.swg / 0063_FrontDoor Nodelist Structure.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-03-26  |  6.4 KB  |  195 lines

  1. {
  2. >  Although I dont have it anymore, there IS a frontdoor
  3. > developer's kit floating around here somewhere..
  4.  
  5. See my previous intervention about the dev kit used by JoHo. But here is some
  6. more:I checked with the latest public version of the development
  7. kit (fddev220) and found
  8. }
  9. (*
  10. **  nodelist.inc
  11. **
  12. **  Structure for the FrontDoor Nodelist Database
  13. **
  14. **  Copyright 1993 Joaquim Homrighausen; All rights reserved.
  15. **
  16. **  Last revised: 93-06-28                    FrontDoor 2.11+
  17. **
  18. **  -------------------------------------------------------------------------
  19. **  This information is not necessarily final and is subject to change at any
  20. **  given time without further notice
  21. **  -------------------------------------------------------------------------
  22. *)
  23.  
  24. (*
  25. **  The FrontDoor Nodelist Database (FDND) uses a Pascal product from
  26. **  Borland that has, unfortunately, been discontinued. It is called
  27. **  "Turbo Database Toolkit" and works in a similar fashion to that of
  28. **  many B+ filer toolkits.
  29. **
  30. **  This header file does not make an attempt to document the B+ file
  31. **  structures, but only those fixed structures used by FrontDoor. For
  32. **  owners of the Borland toolkit, the "TACCESS parameters" are listed
  33. **  below.
  34. **
  35. **    NodeRecSize       = 178
  36. **    FileHeaderSize    = 14
  37. **    MinDataRecSize    = 14
  38. **    MaxHeight         = 5
  39. **    MaxDataRecSize    = 178
  40. **    MaxKeyLen         = 24
  41. **    PageSize          = 32
  42. **    Order             = 16
  43. **    PageStackSize     = 5
  44. **    ItemOverhead      = 9
  45. **    PageOverhead      = 5
  46. *)
  47.  
  48. (*
  49. **  NODEFILE.FDX contains some information about the Nodelist Database.
  50. **
  51. **  The information starts at offset 0x100 and is as follows:
  52. **
  53. **    Current nodelist extension          4 chars         (Pascal)
  54. **    Nodelist Database revision         16 bit
  55. **    Swedish pulse dial translation      1 byte
  56. **
  57. **  At offset 0x110, a set of the currently compiled zones is listed.
  58. *)
  59.  
  60. (*
  61. **  The private Nodelist Database (FDNODE.FDA) has the following record
  62. **  format.
  63. *)
  64.  
  65.   { Status }
  66.  
  67. CONST
  68.   ISZC        =1;
  69.   ISRC        =2;
  70.   ISNC        =3;
  71.   ISHUB       =4;
  72.   ISPVT       =5;
  73.   ISHOLD      =6;
  74.   ISDOWN      =7;
  75.   ISPOINT     =9;
  76.  
  77.   { Capability flags }
  78.  
  79.   CMflag      =$00000002;
  80.   MOflag      =$00000004;
  81.   HSTflag     =$00000008;
  82.   H96flag     =$00000010;
  83.   PEPflag     =$00000020;
  84.   MAXflag     =$00000040;
  85.   XXflag      =$00000080;
  86.   XBflag      =$00000100;
  87.   XRflag      =$00000200;
  88.   XPflag      =$00000400;
  89.   XWflag      =$00000800;
  90.   MNPflag     =$00001000;
  91.   HST14flag   =$00002000;
  92.   V32flag     =$00004000;
  93.   V33flag     =$00008000;
  94.   V34flag     =$00010000;
  95.   V42flag     =$00020000;
  96.   XCflag      =$00040000;
  97.   XAflag      =$00080000;
  98.   V42bflag    =$00100000;
  99.   V32bflag    =$00200000;
  100.   HST16flag   =$00400000;
  101.   LOflag      =$00800000;
  102.   ZYXflag     =$01000000;
  103.   UISDNAflag  =$02000000;
  104.   UISDNBflag  =$04000000;
  105.   UISDNCflag  =$08000000;
  106.   FAXflag     =$10000000;
  107.  
  108.   { MaxBaud field }
  109.  
  110.   ISBAUD300   =2;
  111.   ISBAUD1200  =4;
  112.   ISBAUD2400  =5;
  113.   ISBAUD4800  =6;
  114.   ISBAUD7200  =10;
  115.   ISBAUD9600  =7;
  116.   ISBAUD12000 =11;
  117.   ISBAUD14400 =12;
  118.   ISBAUD16800 =13;
  119.   ISBAUD19200 =14;
  120.   ISBAUD38400 =15;
  121.   ISBAUD57600 =16;
  122.   ISBAUD64000 =17;
  123.   ISBAUD76800 =18;
  124.   ISBAUD115200=19;
  125.  
  126.   { Record structure }
  127.  
  128.   { Note that while the private database can only hold a fixed amount of
  129.     information about a system's capabilities (nodelist flags), FrontDoor
  130.     is capable of using the actual string present in FidoNet-style node-
  131.     lists for routing and other lookup purposes. }
  132.  
  133. TYPE
  134.   NODEREC = RECORD
  135.     Erased            : LONGINT;                {Used to signal erased status}
  136.     Status            : BYTE;                          {Zone, host, hub, etc.}
  137.     NodeNo,                                                  {Network address}
  138.     NetNo,
  139.     Zone,
  140.     Point,
  141.     RoutNode,                                    {Default routing within zone}
  142.     RoutNet,
  143.     Cost              : WORD;                     {Cost per minute for system}
  144.     Capability        : LONGINT;                            {Capability flags}
  145.     MaxBaud           : BYTE;                              {Maximum baud rate}
  146.     Name              : STRING[30];                           {Name of system}
  147.     Telephone         : STRING[40];                     {Raw telephone number}
  148.     Location          : STRING[40];                       {Location of system}
  149.     User              : STRING[36];                               {SysOp name}
  150.     SelectTag         : STRING[3];                               {Group field}
  151.   END;{NODEREC}
  152.  
  153. (*
  154. **  The telephone number database (FDPHONE.FDA) has the following record
  155. **  format.
  156. *)
  157.   PHONEREC = RECORD
  158.     Erase             : LONGINT;                {Used to signal erased status}
  159.     Telephone         : STRING[40];                 {Phone number translation}
  160.     Cost              : WORD;                       {Cost per minute of calls}
  161.     Baudrate          : WORD;                     {Max baudrate for this area}
  162.   END;{PHONEREC}
  163.  
  164. (*
  165. **  The nodelist index file (NODELIST.FDX) has the following record
  166. **  format.
  167. *)
  168.   NODEIDXREC = RECORD
  169.     Length            : BYTE;                     {Length byte for key string}
  170.     Zone,                                           {Swapped zone for sorting}
  171.     Net,                                             {Swapped net for sorting}
  172.     Node,                                           {Swapped node for sorting}
  173.     Point,                                         {Swapped point for sorting}
  174.     RoutNet,                                     {Default routing within zone}
  175.     RoutNode          : WORD;
  176.     Status            : BYTE;                                      {See above}
  177.     RESERVED          : BYTE;                                       {Reserved}
  178.   END;{NODEIDXREC}
  179.  
  180. (*
  181. **  The userlist index file (USERLIST.FDX) has the following record
  182. **  format.
  183. *)
  184.   USERIDXREC = RECORD CASE INTEGER OF
  185.     1:  (NameIt       : STRING[36]);              {To facilitate use of moves}
  186.     2:  (User         : STRING[15];                   {Actual name key length}
  187.          Zone,                                        {To return address info}
  188.          Net,
  189.          Node,
  190.          Point        : WORD;
  191.          Status       : BYTE);                        {Node status, see above}
  192.   END;{USERIDXREC}
  193.  
  194. (* end of file "nodelist.inc" *)
  195.